package com.logistic.server.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logistic.server.entity.pojo.SysUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 用户信息 Mapper 接口
 * </p>
 *
 * @author swen
 * @since 2021-10-26
 */
public interface SysUserMapper extends BaseMapper<SysUser> {

    /**
     * 获取列表
     * @param page 分页
     * @param user 用户过滤
     * @return list
     */
    IPage<SysUser> selectPageUserList(@Param("page") IPage<SysUser> page, @Param("user") SysUser user);

    /**
     * 根据条件分页查询已配用户角色列表
     *
     * @param user 用户信息
     * @return 用户信息集合信息
     */
    IPage<SysUser> selectAllocatedList(@Param("page") IPage<SysUser> page, @Param("user") SysUser user);

    /**
     * 根据条件分页查询未已配用户角色列表
     *
     * @param user 用户信息
     * @return 用户信息集合信息
     */
    IPage<SysUser> selectUnallocatedList(@Param("page") IPage<SysUser> page, @Param("user") SysUser user);

    /**
     * 通过用户ID查询用户
     *
     * @param userId 用户ID
     * @return 用户对象信息
     */
    SysUser selectUserById(Long userId);
}
